/**
 * 初始化页面
 * 初始化产品菜单
 */
$(function () {
    $.ajax({
        type: 'get',
        url: "/productMenu/findAll",
        data: {'page': -1, 'limit': -1},
        success: function (data) {
            // console.log(data);
            // 判断是否具有节点
            if (data.total > 0) {
                $(data.list).each(function (index, item) {
                    let type = "<option value=\""+item.id+"\">"+item.name+"</option>\n";
                    $("#productMenu").append(type);
                    layui.form.render();// 渲染有效，去掉Layui自身渲染
                    // 递归多级类型
                    resultData(data,item);
                })
                return false;
            }
            layui.layer.msg('暂无产品菜单！',{icon:0,time:1200});
            return false;
        },
        error: function () {
            layui.layer.msg('请求接口异常！', {icon: 0, time: 1200});
            return false;
        }
    });
});


layui.use(['form','table'], function () {
    var form = layui.form,
        table = layui.table;

    //后台数据表格
    table.render({
        elem: '#productTable'
        , cellMinWidth: 100 //layui 2.2.1 新增 全局定义所有常规单元格的最小宽度
        , url: '/product/findAll' //数据接口
        , parseData: function (res) { //res 即为原始返回的数据
            return {
                "code": res.status, //解析接口状态
                "msg": res.message, //解析提示文本
                "count": res.total, //解析数据长度
                "data": res.list //解析数据列表
            };
        }
        , page: true //开启分页
        , cols: [[ //表头
            {field: 'id', title: 'ID', align: 'center', width: 80, sort: true}
            , {field: 'img', title: '产品图片', align: 'center', width: 160,templet: function (d) {
                    return "<img src='"+d.img+"' width='50px;' height='50px;' />"
                }}
            , {field: 'name', title: '产品名称', align: 'center', width: 260}
            , {field: 'detail', title: '产品详情', align: 'center', width: 300}
            , {field: 'marketPrice', title: '市场价', align: 'center', width: 120}
            , {field: 'platformPrice', title: '平台价', align: 'center', width: 120}
            , {field: 'menuName', title: '父类型', align: 'center', width: 110, sort: true}
            , {field: 'tMenuName', title: '类型', align: 'center', width: 120}
            , {field: 'gmtCreate', title: '创建时间', align: 'center', width: 160}
            , {fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barProduct'}
        ]],
        toolbar: true
    });

    //模糊查询
    form.on('submit(search)',function (data) {
        // console.log(data.field);
        //发送异步请求获取对应数据
        flushTable(data.field);
        return false;
    })

    //自定义验证规则
    /*form.verify({

    });*/

    //监听行工具事件
    table.on('tool(productTable)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
        var data = obj.data //获得当前行数据
            , layEvent = obj.event; //获得 lay-event 对应的值
        if (layEvent === 'edit') {
            // layer.msg('编辑操作' + data.id);
            sessionStorage.setItem("id",data.id);
            xadmin.open('编辑', 'product-edit.html',1000,650);
        } else if (layEvent === 'delete') {
            // layer.msg('删除操作' + data.id);
            member_del(obj, data.id);
        }
    });

});

// 产品信息页面模糊查询数据渲染
function flushTable(data) {
    layui.use(['table'], function () {
        var table = layui.table;

        //后台数据表格
        //后台数据表格
        table.render({
            elem: '#productTable'
            , cellMinWidth: 100 //layui 2.2.1 新增 全局定义所有常规单元格的最小宽度
            , url: '/product/findAll' //数据接口
            , parseData: function (res) { //res 即为原始返回的数据
                return {
                    "code": res.status, //解析接口状态
                    "msg": res.message, //解析提示文本
                    "count": res.total, //解析数据长度
                    "data": res.list //解析数据列表
                };
            }
            , page: true //开启分页
            , where: data //接口传递数据
            , cols: [[ //表头
                {field: 'id', title: 'ID', align: 'center', width: 80, sort: true}
                , {field: 'img', title: '产品图片', align: 'center', width: 160,templet: function (d) {
                        return "<img src='"+d.img+"' width='50px;' height='50px;' />"
                    }}
                , {field: 'name', title: '产品名称', align: 'center', width: 260}
                , {field: 'detail', title: '产品详情', align: 'center', width: 300}
                , {field: 'marketPrice', title: '市场价', align: 'center', width: 120}
                , {field: 'platformPrice', title: '平台价', align: 'center', width: 120}
                , {field: 'menuName', title: '父类型', align: 'center', width: 110, sort: true}
                , {field: 'tMenuName', title: '类型', align: 'center', width: 120}
                , {field: 'gmtCreate', title: '创建时间', align: 'center', width: 160}
                , {fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barProduct'}
            ]],
            toolbar: true
        });

    });
}

/**
 * JSON页面数据渲染
 * 递归渲染
 * @param data
 */
function resultData(data,item) {
    // 子级类型
    if (item.productMenus.length > 0) {
        $(item.productMenus).each(function (index, item) {
            let type2 = "<option value=\""+item.id+"\">"+item.name+"</option>\n";
            $("#productMenu2").append(type2);
            layui.form.render();
            resultData(data,item)
        })
    }
}

/*公司信息-删除*/
function member_del(obj,id) {
    layer.confirm('确认要删除吗？', function (index) {
        // console.log(obj);
        //发异步删除数据
        $.post('/product/deletetProduct/'+id,function (data) {
            if (data.message == "success") {
                obj.del(); //保持原页面不动,只将删除的移除即可
                layer.msg('已删除!', {icon: 1, time: 1000});
                return;
            }
            layer.msg('未删除!', {icon: 2, time: 1000});
            return;
        })
        return;
    });
}